<?php
class service_image{
	/**
	  *根据itemID和typeID删除图片，并删除服务器上的图片文件
	  *@param $item 图片关联的ID 是一个数组
	  *@param $type 图片关联的typeID 是一个数组
	  */
	static public function delByItemAndType($item,$type){
		$itemID = trim(implode(',',$item));
		$types = trim(implode(',',$type));
		if($itemID==''||$types=='') return false;
		$where = " itemID in ({$itemID}) and typeID in ({$types})";
		$dao = new DaoImage();
		$images = $dao->getAll($where);
		if(!empty($images)){
			foreach($images as $img){
				$path = $_SERVER['DOCUMENT_ROOT'].$img['src'];
				$thumbPath = self::getThumb($path);
				unlink($path);
				unlink($thumbPath);
			}
		}
		$dao->del($where);
	}
	/**
	  *添加图片
	  *@param $imgs	图片路径
	  *@param $typeID	图片类型
	  *@param $itemID	图片关联的ID
	  *@param $title	
	  *@param $url	链接地址
	  *@param $sortID	排序
	  */
	static public function insert($imgs,$typeID,$itemID=0,$title='',$url='',$sortID=0){
		if(!empty($imgs)){
			$imgDao = new DaoImage();
			$now = date("Y-m-d H:i:s");
			foreach($imgs as $img){
				$item = array();
				$item['typeID'] = $typeID;
				$item['itemID'] = $itemID;
                $item['title']=$title;
				$item['src'] = $img;
				$item['url'] = $url;
				$item['createTime'] = $item['updateTime'] = $now;
                $item['sortID']=$sortID;
				$imgDao->insert($item);
			}
		}
	}
	/**
	  *更新图片
	  *@param $img 图片信息
	  *@param $typeID 图片类型
	  *@param $itemID 关联ID
	  *@param $url 链接路径
	  */
	static public function update($img,$typeID,$itemID=0,$title='',$url='',$sortID=0){
		$image = self::getOne($typeID,$itemID);
		if(empty($image)){
			self::insert(array($img),$typeID,$itemID,$title,$url,$sortID);
		}else{
			$dao = new DaoImage();
			$item = array();
			$item['src'] = self::getSrc($img);
			if($title != '')$item['title'] = $title;
			if($url != '') $item['url'] = $url;
			if($sortID != 0) $item['sortID'] = $sortID;
			$item['updateTime'] = date("Y-m-d H:i:s");
			$dao->update(" id='{$image['id']}'",$item);
		}
	}
	/**
	  *获取原始图片的路径
	  *@param $path 图片路径
	  *@return 原始图片路径
	  */
	static public function getSrc($path){
		if(strpos($path,"/thumb")){
			return str_replace("/thumb","",$path);	
		}
		return $path;
	}
	/**
	  *获取缩略图路径
	  *@param $path 图片路径
	  *@return 缩略图路径
	  */
	static public function getThumb($path){
		if(strpos($path,"/thumb")){
			return $path;
		}else{
			return dirname($path).'/thumb/'.basename($path);
		}
	}
	/**
	  *根据图片类型和关联ID获取一张图片
	  *@param $typeID 图片类型
	  *@param $itemID 关联ID
	  *@return 返回一张图片
	  */
	static public function getOne($typeID,$itemID){
		$imgDao = new DaoImage();
		$pic = $imgDao->getOne(" typeID ='".$typeID."' and itemID = '".$itemID."' order by id desc");
		return $pic;
	}
	/**
	  *根据图片类型和关联ID获取一组图片
	  *@param $typeID 图片类型
	  *@param $itemID 关联ID
      *@param $limit  显示条数
	  *@return 返回一组图片
	  */
	static public function getList($typeID,$itemID,$limit){
		$imgDao = new DaoImage();
		$pic = $imgDao->getList(" typeID ='".$typeID."' and itemID = '".$itemID."' order by id desc",$limit);
		return $pic;
	}
}
?>
